#define _CRT_SECURE_NO_WARNINGS 1
//#include <stdio.h>
//#include <stdlib.h>
//int main()
//{
//	int* p = (int*)malloc(10 * sizeof(int));
//	if (p == NULL)
//	{
//		perror(malloc);
//		return 1;
//	}
//	*p = 20;
//	free(p);
//	p = NULL;
//	return 0;
//}

//#include <stdio.h>
//#include <stdlib.h>
//int main()
//{
//	int* p = (int*)malloc(10 * sizeof(int));
//	if (p == NULL)
//	{
//		perror(malloc);
//		return 1;
//	}
//	int i;
//	for (i = 0; i <= 10; i++)
//	{
//		*(p + i) = i;
//	}
//	for (i = 0; i <= 10; i++)
//	{
//		printf("%d", *(p + i));
//	}
//	free(p);
//	p = NULL;
//	return 0;
//}

//#include <stdio.h>
//#include <stdlib.h>
//int main()
//{
//	int* p = (int*)calloc(10 ,sizeof(int));
//	if (p == NULL)
//	{
//		perror(calloc);
//		return 1;
//	}
//	int* ppp = p;
//	int i;
//	for (i = 0; i < 5 ; i++)
//	{
//		*ppp= i;
//		ppp++;
//	}
//	free(p);
//	p = NULL;
//	return 0;
//}
//
//#include <stdio.h>
//#include <stdlib.h>
//int main()
//{
//	int* p = (int*)calloc(10, sizeof(int));
//	if (p == NULL)
//	{
//		perror(calloc);
//		return 1;
//	}
//	
//	free(p);
//	p = NULL;
//
//	//........
//
//	free(p);
//	p = NULL;
//	return 0;
//}



//#include <stdio.h>
//#include <stdlib.h>
//int* test()
//{
//	int* p = (int*)malloc(100);
//	if (1)
//	{
//		return p;
//	}
//	free(p);
//	p = NULL;
//}
//int main()
//{
//	int* ret=test();
//	free(ret);
//	ret = NULL;
//	while (1);
//}
//#include <stdio.h>
//#include <stdlib.h>
//char* GetMemory(char* p)
//{
//	p = (char*)malloc(100);
//	return p;
//}
//void Test(void)
//{
//	char* str = NULL;
//	str=GetMemory(str);
//	strcpy(str, "hello world");
//	printf(str);
//	free(str);
//	str = NULL;
//}
//int main()
//{
//	Test();
//}

//#include <stdio.h>
//#include <stdlib.h>
//char* GetMemory(void)
//{
//	char p[] = "hello world";
//	return p;
//}
//void Test(void)
//{
//	char* str = NULL;
//	str = GetMemory();
//	printf(str);
//}
//int main()
//{
//	Test();
//}

//#include <stdio.h>
//#include <stdlib.h>
//void GetMemory(char** p, int num)
//{
//	*p = (char*)malloc(num);
//}
//void Test(void)
//{
//	char* str = NULL;
//	GetMemory(&str, 100);
//	strcpy(str, "hello");
//	printf(str);
//}
//int main()
//{
//	Test();
//}

#include <stdio.h>
#include <stdlib.h>
void Test(void)
{
	char* str = (char*)malloc(100);
	strcpy(str, "hello");
	free(str);
	if (str != NULL)
	{
		strcpy(str, "world");
		printf(str);
	}
}
int main()
{
	Test();
}
